﻿namespace Minecraft.Imaging
{
    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// Defines the interface to render Minecraft maps
    /// </summary>
    public interface IMapRenderer
    {
        /// <summary>
        /// Renders the chunks in the map
        /// </summary>
        /// <param name="settings">The settings to render with</param>
        /// <returns>the rendered chunks in an image</returns>
        Image RenderMap(IMapSettings settings);

        /// <summary>
        /// Renders the chunks within the area in chunk coordinates
        /// </summary>
        /// <param name="updateArea">The rectangle to update</param>
        /// <param name="settings">The settings to render with</param>
        /// <returns>The rendered chunks in an image</returns>
        Image RenderMapArea(Rectangle updateArea, IMapSettings settings);
    }
}
